From: Daniel van Vugt Date: Fri, 25 Jun 2021 09:09:06 +0000 (+0800) Subject: magnifier: Avoid painting a desktop that's fully occluded by its clone X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~574^2^2~90 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=af03314f20dda315835537cf32f7ff212aa3d9fe;p=gnome-shell.git magnifier: Avoid painting a desktop that's fully occluded by its clone This significantly reduces the render time for fullscreen zoom mode. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3305 Part-of: --- diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js index 22581278d..180df2546 100644 --- a/js/ui/magnifier.js +++ b/js/ui/magnifier.js @@ -856,6 +856,7 @@ var ZoomRegion = class ZoomRegion { this._updateMousePosition(); this._connectSignals(); } else { + Main.uiGroup.set_opacity(255); this._disconnectSignals(); this._destroyActors(); } @@ -1404,6 +1405,9 @@ var ZoomRegion = class ZoomRegion { if (this.isActive() && this._isMouseOverRegion()) this._magnifier.hideSystemCursor(); + + const uiGroupIsOccluded = this.isActive() && this._isFullScreen(); + Main.uiGroup.set_opacity(uiGroupIsOccluded ? 0 : 255); } _changeROI(params) {